Apache Commons Collections লাইব্রেরিটি Java Collections Framework এর উপর ভিত্তি করে একাধিক অতিরিক্ত ডাটা স্ট্রাকচার এবং ইউটিলিটি প্রদান করে, যা সাধারণ কালেকশনগুলির উপর কার্যক্রম সহজতর করে। এর মধ্যে একটি শক্তিশালী ক্লাস হল IteratorUtils, যা Iterator এর সাথে কাজ করার জন্য একটি সেট অব ফাংশন প্রদান করে।
IteratorUtils ক্লাস ব্যবহার করে আপনি Java এর Iterator থেকে সহজে মান বের করতে, সংগ্রহ করতে, এবং অন্যান্য কার্যক্রম সম্পাদন করতে পারেন। এই ক্লাসটি Iterator এর সাথে সম্পর্কিত কার্যক্রমকে অনেক বেশি নমনীয় এবং কার্যকরী করে তোলে।
IteratorUtils ক্লাসটি Apache Commons Collections এর একটি ইউটিলিটি ক্লাস, যা Iterator ব্যবহারের জন্য অনেক সহায়ক মেথড সরবরাহ করে। এই ক্লাসটির সাহায্যে আপনি একটি Iterator এর উপাদানকে বিভিন্ন পদ্ধতিতে প্রসেস করতে পারবেন, যেমন ইটেরেট করা, ফিল্টার করা, এবং ট্রান্সফর্ম করা।
while (iterator.hasNext())
ব্যবহারের চেয়ে সহজ এবং সরল হয়।toList():
Iterator<String> iterator = Arrays.asList("apple", "banana", "cherry").iterator();
List<String> list = IteratorUtils.toList(iterator);
System.out.println(list); // Output: [apple, banana, cherry]
toArray():
Iterator<Integer> iterator = Arrays.asList(1, 2, 3, 4).iterator();
Integer[] array = IteratorUtils.toArray(iterator, Integer.class);
System.out.println(Arrays.toString(array)); // Output: [1, 2, 3, 4]
filter():
Iterator<String> iterator = Arrays.asList("apple", "banana", "cherry").iterator();
Iterator<String> filteredIterator = IteratorUtils.filteredIterator(iterator, new Predicate<String>() {
@Override
public boolean evaluate(String item) {
return item.startsWith("a"); // Only items starting with "a"
}
});
while (filteredIterator.hasNext()) {
System.out.println(filteredIterator.next());
}
// Output: apple
transform():
Iterator<String> iterator = Arrays.asList("apple", "banana", "cherry").iterator();
Iterator<String> transformedIterator = IteratorUtils.transformedIterator(iterator, new Transformer<String, String>() {
@Override
public String transform(String input) {
return input.toUpperCase(); // Convert each element to uppercase
}
});
while (transformedIterator.hasNext()) {
System.out.println(transformedIterator.next());
}
// Output: APPLE, BANANA, CHERRY
emptyIterator():
Iterator<String> emptyIterator = IteratorUtils.emptyIterator();
System.out.println(emptyIterator.hasNext()); // Output: false
IteratorUtils শুধুমাত্র Iterator ব্যবহারের জন্যই নয়, Collection Iteration এর জন্যও খুব কার্যকরী। এটি Collection এর উপাদানগুলির উপর সহজেই কার্যক্রম সম্পাদন করার জন্য Iterator তৈরি করতে সহায়তা করে, এবং এতে কোনো পদ্ধতি ব্যবহার করা ছাড়াও foreach বা for-each loop ব্যবহার করতে পারেন।
List<String> fruits = Arrays.asList("apple", "banana", "cherry");
Iterator<String> iterator = fruits.iterator();
while (iterator.hasNext()) {
String fruit = iterator.next();
System.out.println(fruit);
}
// Output: apple, banana, cherry
এখানে, iterator.next()
পদ্ধতির মাধ্যমে আমরা Collection এর সব উপাদান ভ্রমণ (traverse) করেছি।
IteratorUtils দিয়ে আপনি Collection এর উপাদানগুলিকে ফিল্টার করতে বা ট্রান্সফর্ম করতে পারেন, যাতে আপনি আপনার প্রয়োজনীয় ডাটা বের করতে পারেন।
List<String> fruits = Arrays.asList("apple", "banana", "cherry", "avocado");
Iterator<String> iterator = IteratorUtils.filteredIterator(fruits.iterator(), new Predicate<String>() {
public boolean evaluate(String fruit) {
return fruit.startsWith("a");
}
});
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
// Output: apple, avocado
এখানে:
IteratorUtils.filteredIterator
ব্যবহার করে Collection এর উপাদানগুলির মধ্যে শুধু "a" দিয়ে শুরু হওয়া ফলগুলি ফিল্টার করা হয়েছে।List<String> fruits = Arrays.asList("apple", "banana", "cherry");
Iterator<String> transformedIterator = IteratorUtils.transformedIterator(fruits.iterator(), new Transformer<String, String>() {
public String transform(String fruit) {
return fruit.toUpperCase(); // Convert to uppercase
}
});
while (transformedIterator.hasNext()) {
System.out.println(transformedIterator.next());
}
// Output: APPLE, BANANA, CHERRY
এখানে:
IteratorUtils.transformedIterator
ব্যবহার করে Collection এর উপাদানগুলিকে ট্রান্সফর্ম করে সমস্ত ফলের নাম বড় অক্ষরে রূপান্তরিত করা হয়েছে।Apache Commons Collections এর IteratorUtils ক্লাস ব্যবহার করে আপনি সহজে Iterator এর মাধ্যমে Collection এর উপাদানগুলির উপর কার্যক্রম সম্পাদন করতে পারেন। এটি Iterator এর উপাদানগুলি ফিল্টার করা, ট্রান্সফর্ম করা, এবং আইটেম সংগ্রহ করার মতো কার্যক্রম সহজ করে তোলে। এর মাধ্যমে Collection Iteration আরও সহজ এবং কার্যকরী হয়ে ওঠে। IteratorUtils কালেকশনগুলির উপাদানগুলির উপর আরো জটিল ফিল্টারিং, ট্রান্সফরমেশন এবং সংগ্রহ কার্যক্রম বাস্তবায়ন করতে সাহায্য করে, যা Java Collections Framework এর মৌলিক কার্যক্রমের তুলনায় আরও কার্যকর।
common.read_more